package controlador;

import org.dom4j.Document;
import org.dom4j.io.SAXReader;

import vista.MenuSubVista;
import ar.uba.fi.algo3.titiritero.ControladorJuego;

import componentes.Juego;

public class CargarArchivoAccion extends SelectorDeArchivosAccion {

	public CargarArchivoAccion(ControladorJuego controlador) {
		super(controlador);
	}

	@Override
	protected String getTituloVentana() {
		return "Elija un archivo para cargar";
	}

	@Override
	protected void resolverQueHaceConArchivo(String archivo) {
		SAXReader reader = new SAXReader();
        try{
	        Document document = reader.read(archivo);
	        Juego juego = Juego.recuperarDesdeXML(document.getRootElement());
	        
	        controlador.limpiar();
	        
	        MenuSubVista menuSubVista = FuncionesLib.agregarComponentesAlControlador(controlador, juego);
	        InstanciaDeJuego.getInstance().setJuego(juego);
	        InstanciaDeJuego.getInstance().setMenuSubVista(menuSubVista);
	        controlador.setGrabando(false);
        }catch (Exception e){
        	e.printStackTrace();
        }
	}

	@Override
	protected ValoresDeFileManager getTipoDeDialogo() {
		return ValoresDeFileManager.LOAD;
	}

}
